public class Text1 {
    //    数组nums包含从0到n的所有整数，但其中缺了一个。
//    请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗？
    public int missingNumber1(int[] nums) {
        int[] arr = new int[nums.length + 1];
        for (int i = 0; i < nums.length; i++) {
            arr[nums[i]] = 1;
        }
        int i = 0;
        for (; i < arr.length; i++) {
            if (arr[i] == 0) {
                break;
            }
        }
        return i;
    }

    public int missingNumber2(int[] nums) {
        int flag = 0;
        for (int i = 0; i < nums.length; i++) {
            flag^=nums[i];
        }
        for (int i = 0; i <=nums.length; i++) {
            flag^=i;
        }
        return flag;
    }
    public int missingNumber(int[] nums) {
        int sum1=0,sum2=0;
        for (int i = 0; i < nums.length; i++) {
            sum1+=nums[i];
        }
        for (int i = 0; i <=nums.length; i++) {
           sum2+=i;
        }
        return sum2-sum1;
    }
}
